草庐IT

mongodb - docker备份和恢复mongodb

全部标签

mongodb - 为什么在终端模式下找不到IDE插入的数据?

我试图通过GolandIDE在MongoDB中插入数据。虽然连接正确并且在IDE输出中我得到了ObjectID,但我仍然无法直接从终端看到结果。好像数据库记录了一个没有任何信息的新文件...OSX,MongoDB是默认设置。驱动程序是“go.mongodb.org/mongo-driver”并且连接正确。Goland在2019.2.2//gotypeStudentstruct{namestringsexstring}newStu:=Student{name:"Alice",sex:"Female",}collection:=client.Database("mgo_1").Collec

mongodb - TCP连接管理

我在Go邮件列表中提出了这个问题,但我认为从SO那里得到更好的回应更为普遍。在使用Java/.Net平台时,我从来不需要像驱动程序那样手动管理数据库连接。现在,当尝试连接到具有非常基本的驱动程序支持的无sql数据库时,管理连接是我的责任。驱动程序允许连接、关闭、重新连接到tcp端口,但不确定我应该如何管理它(参见link)。我是否必须为每个数据库请求创建一个新连接?我可以使用其他第3方连接池库吗?谢谢。 最佳答案 我对MongoDB的了解还不够直接回答这个问题,但是你知道MongoDB是如何处理TCP请求的吗?例如,单个TCP连接的

mongodb - 将 mgo 用于嵌套文档字段

我将Golang与用于mongodb的mgo驱动程序一起使用。根据http://labix.org/mgo中的示例一切都很好。但是我找不到任何文档说明mgo如何支持“点符号”以便能够设置和删除嵌套字段。那么,如何访问嵌套字段?还有一个问题是关于goLangnameconvention的。当我用s.FindId(...).One(&doc)填充我的结构时,doc是否可以包含小写名称的字段,例如“timer”而不是“Timer”?mgo是否有可能从mongo获取非结构化文档并只返回map[string]string? 最佳答案 参见mg

使用再生龙镜像备份还原linux,以及遇到的问题和解决方法

前言准备工作:rufus镜像刻录软件再生龙镜像20G以上的u盘(系统备份文件的大小与系统盘的大小有关。200G的固态备份之后要占用10G左右空间)rufus:链接:https://pan.baidu.com/s/133wksMYJ8NHaWpXRPKEr_w提取码:kgrd–来自百度网盘超级会员V2的分享再生龙镜像文件:链接:https://pan.baidu.com/s/1TDpZQpAOhX9r2ejAssKn4A提取码:6nww–来自百度网盘超级会员V2的分享再生龙的镜像需要根据备份的主机主板信息确定,如果你不确定该使用哪个版本,就选择i686这个,当然Ubuntu只有amd版本的镜像了

mongodb - 在Go中使用mgo找出插入对象的结果

请问有没有办法在使用collection插入新对象的时候判断插入是否成功。通过单个操作插入(对象)。我的意思是,我不想向数据库发送另一个查询来查明是否有记录。我需要一个原子操作(insert->result(isSuccessful)-伪代码)。 最佳答案 Insert方法返回一个表示成功或失败的错误对象。您需要先设置session的安全模式才能启用此行为。session.SetSafe(&mgo.Safe{})// 关于mongodb-在Go中使用mgo找出插入对象的结果,我们在Sta

mongodb - 使用 mGo 导入备份集合

我有一个来自mongodump的BSON导出,还有一个用于mongoexport的JSON导出使用mgo导入的最简单方法是什么?mgo是否支持插入备份的BSON集合?或者我是否需要使用JSON导出、解码然后使用mgo执行insert()?问题是我不想在我的Go文件中指定方案-我只想将文件转储到数据库中。 最佳答案 Whatwouldbetheeasiestwaytoimportwithmgo?最简单?从您的go程序中取出mongorestore。繁荣,完成。Doesmgosupportinsertingabacked-upBSONc

timer - 如何从 Web 服务器重启(或代码刷新/升级)中恢复 Go 计时器?

例如,考虑一个Web服务,用户可以在其中发出API请求以在特定的预定时间启动任务。任务定义和计划时间保存在数据库中。我想出的第一种方法是启动一个Go计时器并等待计时器在Goroutine中到期(不阻止请求)。这个goroutine在时间到期后,还会触发另一个API请求以开始执行任务。现在重新部署此服务时会出现问题。对于零停机部署,我使用Einhorn与goji.代码重新加载后,显然定时器goroutine和timer-expiration-handlergoroutine都死了。代码重新加载后有什么方法可以恢复Go定时器吗?我正在努力解决的另一个问题是允许用户中断计时器(一旦启动)。G

google-app-engine - 重新构建在 docker 容器中运行的 Go (App Engine) 应用程序?

通常,当您使用Go-Appengine的goappserve命令运行Go应用程序时,会检测到文件更改并启动重新构建。INFO2015-01-11...Detectedfilechanges:...我目前正在尝试运行Go-Appengineinsideadockercontainer,并且当服务器正常启动时,文件更改不会启动重建。我该如何做到这一点?根据我的个人经验,在检测到文件更改时,在docker容器内部和外部运行的Django项目的行为方式相同。 最佳答案 我认为这里的问题是文件不会在docker-container内部发生变化

mongodb - 无法使用 golang 将结构保存到 mongodb 中(仅创建空记录)

我有以下结构typeResultstruct{nidstringtimestampint64hexhashstringaddrstring}我想保存到mongodb中:我创造了它r:=Result{hex_id,int64(msg.timestamp.Unix()),hexhash,msg.addr.String()}并测试是否正确创建:fmt.Println(r)这给了我预期的结果:{b8da3f19d1318af6879976c1eea66c78c48e1144142141725265072917F19D7F4C4B54C9C66A3EB31F77012981127.0.0.1:6

mongodb - 使用 Go 在 MongoDB 中指定查询

对于如何将JavascriptJSON命令转换回go会理解的东西感到困惑。好的,这是mongoshell中的查询:db.customers.find({acct_balance:{$gt:100000}},{firstName:1,surname:1,acct_balance:1,_id:0})结果::{“firstName”:“Susann”,“surname”:“Ulisch”,“acct_balance”:238897.45}{“firstName”:“Parker”,“surname”:“Peet”,“acct_balance”:443314.13}现在我想在Go中复制该查询。